fix: Godot client sync improvements (sex display, fleeing, predation guards)#90
Merged
biosynthart merged 3 commits intoJun 22, 2026
Merged
Conversation
…ogic - Add sex field serialization in engine (updates + spawns) for ANIMAL/BIRD/INSECT - Add sex field to WorldEntity and apply it on updates/spawns - Display sex symbol (♂/♀) in selection billboard for sexed entity types - Add sex info to the drive legend for ANIMAL, BIRD, INSECT types - Add FLEE_MAX_DURATION constant: force exit FLEEING after 15 ticks - Add FLEE_REPRO_DRIVE_EXIT constant: abandon fleeing when reproductive drive > 0.6 - Track _flee_start_tick in FleeActor so guard can enforce timeout
- Add MIN_FORAGING_BOUT_FEEDS (3): entities must complete at least 3 successful feeding events before the guard allows FORAGING/HUNTING exit. Prevents the 'one bite → exit → rest 37 ticks' cycle where a single relief value exceeds the hunger hysteresis gap. - Add OMNIVORE_INSECT_MIN_PREY_COUNT (5): omnivores skip insect/pollinator predation when living prey count is below 5. This prevents early extinction of small prey populations (e.g. 4 butterflies at sim start) and lets omnivores fall back to plant foraging instead. - Track _foraging_bout_feeds counter: reset on FORAGING/HUNTING entry, incremented on each successful predation or herbivory event.
- Remove unused FLEE_MAX_DURATION import (used only in guard_actors) - Remove unused MIN_FORAGING_BOUT_FEEDS import (used only in guard_actors) - Remove unused insect_groups variable in _count_living_insect_prey
biosynthart
added a commit
that referenced
this pull request
Jun 22, 2026
- Add godot_debug.png to README.md quick start section - Expand architecture diagram to include Godot 3D client as third client - Update 'Two clients' → 'Three clients' in key features - Update LILA_PROJECT_STATE.md: Godot client marked as 'Shipped' with PR #90 sync fixes and recent feature additions - New client/godot/README.md with architecture, controls, and development guide
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This branch syncs and improves the Godot client with several behavioral fixes and feature additions for mobile consumers.
Changes
2 New Commits (since last sync)
1.
feat: add feeding bout momentum and population-based insect predation_foraging_bout_feedscounter: reset on FORAGING/HUNTING entry, incremented on each successful predation or herbivory event.2.
feat: add sex display for mobile consumers and improve fleeing exit logicFLEE_MAX_DURATIONconstant: force exit FLEEING after 15 ticksFLEE_REPRO_DRIVE_EXITconstant: abandon fleeing when reproductive drive > 0.6_flee_start_tickin FleeActor so guard can enforce timeoutEarlier commits already in this branch
fix: grow direction must be 0-2 in Godot 4fix: invalid grow direction in LegendLabel tscnfix: repair broken file headers in python clientfix: add flee direction caching to browser and python clientsfix: butterfly fleeing stuck state and add HUD stat legendfeat(godot): add click-to-select with entity highlightAdd standardized headers to Python client filesAdd standardized file headers to all Godot client GDScript filesTesting